package com.java.yz.day08.ketang;

/*
    interface关键字的使用注意事项：
        1.接口理解为一个特殊的一个类，将来也会编译成一个出class文件，但是并不是类
        2.接口中只允许存在常量，而且是静态的，如果没有修饰符会默认的加上public static final
        3、接口中只允许出现抽象方法，如果没有加上修饰符，默认的就会加上public abstract
        4、接口无法被实例化
        5.接口中没有构造方法
        6、接口与接口之间是继承关系，他们之间的继承是多继承的
        7.当一个具体类实现一个接口的时候，必须要重新写所有的抽象方法
        8、当一个抽象类实现一个接口的时候，可以选择性的重写，也可以不用重写

 */
interface Inter1{
    public static final int a=10;  //灰色就是默认的
    public abstract void f();   //灰色就是默认的
}
interface Inter2{

}  //这样就是多继承
interface Inter3 extends Inter1,Inter2{

}
class Text01 implements Inter3{
    public void fun1(){
        //a=20;  //java: 无法为最终变量a分配值
        System.out.println(a);
    }
    @Override
    public void f() {
        System.out.println("ffff");
    }
}
public class InterfaceDemo2 {
    public static void main(String[] args) {
        Text01 text01 = new Text01();
        text01.fun1();
    }
}
